草庐IT

c++ - g++ 警告 : conversion to uint16_t from int may alter its value

全部标签

c++ - GetFileAttributesA 为现有目录返回 "17"。 "16"表示它是一个目录,文档中没有提到 "17"

Windows764位,用mingw编译。我正在尝试使用Windowsheader中的GetFileAttributesA来测试给定路径是否是目录。作为目录的常量是16。但出于某种原因,它返回17。我的代码如下所示:#include#includevoiddir_exists(std::stringdir_path){DWORDf_attrib=GetFileAttributesA(dir_path.c_str());std::cout当我运行它时,输出是:Current:17Wanted:16电流应该返回16,在这里。正如我在主题中所说,我什至在文档中找不到任何提及17的含义。

c++ - 将 UTF-16 转换为 UTF-8

我目前使用的是VC++2008MFC。由于PostgreSQL不支持UTF-16(Windows为Unicode使用的编码),我需要在存储之前将字符串从UTF-16转换为UTF-8。这是我的代码片段。//demo.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include"demo.h"#include"Utils.h"#include#ifdef_DEBUG#definenewDEBUG_NEW#endif//TheoneandonlyapplicationobjectCWinAppthe

c++ - 关闭#pragma deprecated 警告的 Win 编译开关是什么?

使用VisualStudio.NET2003C++和wininet.dll我看到很多C4995warningsMoreinfo感谢任何帮助。谢谢。 最佳答案 除了上述答案之外,值得一提的是,仅在有限范围内禁用警告通常是一种很好的做法(如果您将这些编译指示放在头文件中,这一点尤其重要):#pragmawarning(disable:4121)//alignmentofamemberwassensitivetopacking#include#pragmawarning(default:4121)//Restoredefaulthandl

c - 如何从 Visual Studio C 编译器获得更有用的警告?

我正在使用VisualStudio2015C编译器,我发现它没有警告。例如,此代码在没有警告或错误的情况下编译(使用-Wall选项):#includeintmain(void){inti=2;free(&i);//Thecompilershouldtellme"Youaretryingtofreesomethingnotontheheap".return0;}-W4或-Wall没有检测到很多导致崩溃或/和未定义行为的事情,我还有其他选择吗可以用来警告这些错误吗?我知道我可以使用其他编译器,但我听说当您面向Windows平台时,VisualStudio附带的编译器更好。

c++ - windows C++ opening printer with documentproperties get C6836 "Write Overrun"代码分析警告

在下面的代码中://IfGetPrinterdidn'tfillintheDEVMODE,trytogetitbycalling//DocumentProperties...if(pi2->pDevMode==NULL){dwNeeded=DocumentProperties(NULL,hPrinter,printerName,NULL,NULL,0);if(dwNeededpDevMode=pDevMode;}在线lFlag=DocumentProperties(NULL,hPrinter,printerName,pDevMode,NULL,DM_OUT_BUFFER);当我运行Vi

windows - 如何在项目中启用 Visual Studio 2008 中的所有警告?

我想打印我在VS2008中构建的项目中的所有警告。正如在其他问题中所建议的那样,当我想启用/Wall时,项目属性只会给我最高/W4级别的警告。下面是属性的快照。有没有办法在VS2008中为项目启用/Wall? 最佳答案 我假设您正在使用C++?在这种情况下,您可以直接在“命令行”选项中添加此标志:请注意输出可能太冗长而不可用。 关于windows-如何在项目中启用VisualStudio2008中的所有警告?,我们在StackOverflow上找到一个类似的问题:

c# - 如何使用 C# 在 Windows 中关闭警告窗口?

我在C#中使用System.Diagnostics.Process命名空间来启动系统进程,有时这个新创建的进程无法正常启动,在这些情况下,Windows会向我显示一个警告窗口,提供有关失败进程的信息。我需要一种以编程方式关闭(终止)此警报窗口的方法。我尝试了以下代码,但它不起作用,因为警告窗口不会出现在Process.GetProcesses()列表中。foreach(ProcessprocRinProcess.GetProcesses()){if(procR.MainWindowTitle.StartsWith("alertwindowtext")){procR.Kill();con

windows - 无法在 Windows16 docker 中下载任何图像

我一直在试验docker的目的是在windows16上安装docker我正在按照https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_server的说明进行操作在安装docker之前一切看起来都很好,之后当我尝试测试它提供的docker时低于错误。注册层失败:重新执行错误:退出状态1:输出:ProcessBaseLayerC:\ProgramData\docker\windowsfilter\0c9effd422805350acb1f051eb1

java - 当我从命令行启动 java 应用程序时,我可以防止数字签名警告吗?

有什么方法可以避免在命令行运行Java应用程序时出现“无法验证应用程序的数字签名”的警告信息?我正在寻找一个命令行解决方案,它允许在持续集成服务器上启动这样的应用程序,因此我需要一个不需要手动干预的解决方案。此外,我不希望对任何应用程序禁用此警告,因为这可能存在安全风险。不确定是否有帮助,但我知道签名的“名称”、“发布者”和“来自”字段的值。请确定,我不是在询问如何签署此申请。更新1我想解决方案是使用keytool从命令行导入证书,但由于某种原因它确实无法正确导入它,因为在此之后它没有出现在控制面板小程序中,并且应用程序仍然需要它。keytool-importcert-filemy.c

windows - BSTR 是否采用 UTF-16 编码?

我正在尝试学习Unicode?对我来说最困难的部分是编码。BSTR(基本字符串)内容代码点可以U+10000或更高吗?如果不是,那么BSTR的编码是什么? 最佳答案 在Microsoft-speak,Unicode通常是UTF-16的同义词(如果没记错,则为小端字节序)。在BSTR的情况下,答案似乎是视情况而定:OnMicrosoftWindows,consistsofastringofUnicodecharacters(wideordouble-bytecharacters).OnApplePowerMacintosh,consi